<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
require_once(APPPATH."models/ensinomodel.php");

class ensinodao extends CI_Model {
	
	function __construct(){
		
		parent::__construct();
		
	}
	
	public function excluir($id){
		try{
			$exec = $this->db->query("call excluirEnsinoById(".$id.")") or die("Erro: " . $this->db->_error_message());
			if($exec->num_rows() > 0){
				$d = $exec->row();
				$erro = (int)$d->erro;
				$this->db->close();
				if($erro == 0){
					return true;
				}
				$this->db->close();
				return false;
			}
			$this->db->close();
			return false;
		} catch(Exception $e){
			try {
				$this->db->close();
			} catch (Exception $a){
	
			}
		}
		return false;
	}
	
	public function getEnsinoById($id){
		try{
		$exec = $this->db->query("call getEnsinoById(".$id.")") or die("Erro: " . $this->db->_error_message());
		if($exec->num_rows() > 0){
			$dados = $exec->row();
			$ensino = new EnsinoModel();
			$ensino->setEnsino($dados->ensino);
			$ensino->setIdEnsino($dados->idensino);			
			$this->db->close();
			return $ensino;
		}
		$this->db->close();
		return null;
		} catch(Exception $e){
			try {
				$this->db->close();
			} catch (Exception $a){
				
			}
		}
		return null;
	}
	
	/**
	** Retorna o table de resultados de ensinos
	**/
	public function getListaEnsino(){ 
		$exec = $this->db->query("call getEnsino()") or die("Erro: " . $this->db->_error_message());
		if($exec->num_rows() > 0){
			//return $exec->result();
			$lEnsino = array();
			foreach($exec->result() as $ens){
				$a = new EnsinoModel();				
				//$a = $this->EnsinoModel;
				$a->setIdEnsino($ens->idensino);
				$a->setEnsino($ens->ensino);
				array_push($lEnsino, $a);
			}
			$this->db->close();
			return $lEnsino;
		} else {
			return null;
		}
	}
	
	/**
	 * 
	 * @param unknown_type $id
	 * @param unknown_type $ensino
	 */
	public function inserirEditarEnsino($id, $ensino){
		$saida = null;
		$saida = -2;
		try {
			$exec = $this->db->query("call inserirEditarEnsino(".$id.", '".$ensino."')") or die("Erro: " . $this->db->_error_message());
			if($exec->num_rows() > 0){
				$dados = $exec->row();
				$tipo = $dados->tipo;
				$valor = $dados->erro;
				if($tipo == "insert"){
					$saida = $valor;					
				} else {
					if((int)$valor == 1){
						$saida = -3; //erro no update
					} else {
						$saida = $valor;						
					}
				}
			} else {
				$saida = -1;
			}
			$this->db->close();
			return $saida;
		} catch (Exception $e){
			try {
				$this->db->close();
			} catch (Exception $a){
				
			}
			return -5;
		}
	}
}
